﻿using System;
using System.IO;
using System.Text;

namespace Downloader
{
    public class UnicodeExtension
    {
        private static readonly string[] Unicodes = new[] { "à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă",
                                                    "ằ","ắ","ặ","ẳ","ẵ","è","é","ẹ","ẻ","ẽ","ê","ề"
                                                    ,"ế","ệ","ể","ễ",
                                                    "ì","í","ị","ỉ","ĩ",
                                                    "ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ"
                                                    ,"ờ","ớ","ợ","ở","ỡ",
                                                    "ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ",
                                                    "ỳ","ý","ỵ","ỷ","ỹ",
                                                    "đ",
                                                    "À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă"
                                                    ,"Ằ","Ắ","Ặ","Ẳ","Ẵ",
                                                    "È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ",
                                                    "Ì","Í","Ị","Ỉ","Ĩ",
                                                    "Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ"
                                                    ,"Ờ","Ớ","Ợ","Ở","Ỡ",
                                                    "Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ",
                                                    "Ỳ","Ý","Ỵ","Ỷ","Ỹ",
                                                    "Đ" };

        private static readonly string[] Unicodes2 = new[] { "à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă",
                                                     "ằ","ắ","ặ","ẳ","ẵ","è","é","ẹ","ẻ","ẽ","ê","ề"
                                                     ,"ế","ệ","ể","ễ",
                                                     "ì","í","ị","ỉ","ĩ",
                                                     "ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ"
                                                     ,"ờ","ớ","ợ","ở","ỡ",
                                                     "ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ",
                                                     "ỳ","ý","ỵ","ỷ","ỹ",
                                                     "đ",
                                                     "À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă"
                                                     ,"Ằ","Ắ","Ặ","Ẳ","Ẵ",
                                                     "È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ",
                                                     "Ì","Í","Ị","Ỉ","Ĩ",
                                                     "Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ"
                                                     ,"Ờ","Ớ","Ợ","Ở","Ỡ",
                                                     "Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ",
                                                     "Ỳ","Ý","Ỵ","Ỷ","Ỹ",
                                                     "Đ" };

        /// <summary>
        /// Converts to unicode composite.
        /// </summary>
        /// <param name="content">The content.</param>
        /// <returns></returns>
        public static string ConvertToUnicodeComposite(String content)
        {
            for (int i = 0; i < Unicodes.Length; i++)
            {
                content = content.Replace(Unicodes[i], Unicodes2[i]);
            }

            return String.Format("<html><body>{0}</body></html>", content);
        }
    }
}
